package com.niit.service.impl;



import com.niit.entity.Hall;
import com.niit.mapper.HallMapper;
import com.niit.service.HallService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


/**
 * MovieService的实现类，提供电影相关业务的处理。
 */
@Service
public class HallServiceImpl implements HallService {

    /**
     * 注入MovieMapper，用于数据库操作。
     */
    @Resource
    private HallMapper HallMapper;

    @Override
    public List<Hall> findAllHalls() {
        return HallMapper.findAllHalls();
    }

    /**
     * 根据ID查询电影。
     *
     * @param id 电影的唯一标识ID。
     * @return 与ID匹配的电影对象。
     */
    @Override
    public Hall findHallById(Long id) {
        return HallMapper.findHallById(Math.toIntExact(id));
    }

    /**
     * 根据电影名称查询电影。
     *
     * @param name 电影的名称。
     * @return 与名称匹配的电影对象。
     */
    @Override
    public Hall findHallByName(String name) {
        return HallMapper.findHallByName(name);
    }

    /**
     * 添加新的电影到数据库。
     *
     * @param movie 待添加的电影对象。
     * @return 添加后的电影对象。
     */
    @Override
    public Hall addHall(Hall hall) {
        HallMapper.addHall(hall);
        return hall;
    }

    /**
     * 更新已存在的电影信息。
     *
     * @param movie 待更新的电影对象。
     * @return 更新后的电影对象。
     */
    @Override
    public int updateHall(Hall hall) {
        return HallMapper.updateHall(hall);
    }

    /**
     * 根据ID删除电影。
     *
     * @param id 待删除电影的唯一标识ID。
     * @return 被删除的电影对象。
     */
    @Override
    public int deleteHall(Integer hall) {
        return HallMapper.deleteHall(hall);
    }
}

